package de.pmg_grandma;

import interfaces.AbstractWish;
import model.Model;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import animation.GrandmaAnimation;

public class MedicineActivity extends Activity {	

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		Model.getInstance().inAppFocus = true;
		setContentView(R.layout.activity_medicine);

		ImageView tempImage = (ImageView) findViewById(R.id.medicinBox);
		//VIEW in 3 Teile schneiden und "klicken" abfangen 
		tempImage.setOnTouchListener(new View.OnTouchListener()
		{
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				if (event.getAction() == MotionEvent.ACTION_UP) {
					int x = (int) event.getX();
					int drittel = v.getWidth()/3;
					if(x <= drittel) {
						Log.i("Blobs", Model.MEDIZIN_MORGENS);
						makeMedicinToast(Model.MEDIZIN_MORGENS);
					}
					else if(x <= drittel*2) {
						Log.i("Blobs", Model.MEDIZIN_MITTAGS);
						makeMedicinToast(Model.MEDIZIN_MITTAGS);
					}
					else if(x <= drittel*3) {
						Log.i("Blobs", Model.MEDIZIN_ABENDS);
						makeMedicinToast(Model.MEDIZIN_ABENDS);
					}
				}
				return true;
			}
		});
	}

	//"schließen" Button
	public void onButtonClick(View view) {
		this.finish();
	}

	public void makeMedicinToast(String medicine) {
		AbstractWish wish = Model.getInstance().getWishes().get(medicine);
		if (wish != null) {
			// Es gibt einen WishToTakeMedicine und es wurde sogar richtige Medizin verabreicht
			wish.fulfill();
			Toast.makeText(
					MedicineActivity.this, 
					"Medizin (" + medicine + ") genommen", 
					Toast.LENGTH_SHORT)
					.show();
		}
		else {
			//bei falscher Medizin, wird Oma rotiert
			GrandmaAnimation.startGranniRotation();
		}
		finish();
	}

	@Override
	protected void onPause() {
		Model.getInstance().inAppFocus = false;
		super.onPause();
	}
	@Override
	protected void onResume() {
		Model.getInstance().inAppFocus = true;
		super.onResume();
	}
}
